package com.chenyaowei.product.mapper;

import com.chenyaowei.product.domain.CywProductAttrValue;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 商品基本属性Mapper接口
 *
 * @author 陈耀威
 * @date 2023-11-24
 */
public interface CywProductAttrValueMapper
{
    /**
     * 查询商品基本属性
     *
     * @param id 商品基本属性主键
     * @return 商品基本属性
     */
    public CywProductAttrValue selectCywProductAttrValueById(Long id);

    /**
     * 查询商品基本属性列表
     *
     * @param cywProductAttrValue 商品基本属性
     * @return 商品基本属性集合
     */
    public List<CywProductAttrValue> selectCywProductAttrValueList(CywProductAttrValue cywProductAttrValue);

    /**
     * 新增商品基本属性
     *
     * @param cywProductAttrValue 商品基本属性
     * @return 结果
     */
    public int insertCywProductAttrValue(CywProductAttrValue cywProductAttrValue);

    /**
     * 修改商品基本属性
     *
     * @param cywProductAttrValue 商品基本属性
     * @return 结果
     */
    public int updateCywProductAttrValue(CywProductAttrValue cywProductAttrValue);

    /**
     * 删除商品基本属性
     *
     * @param id 商品基本属性主键
     * @return 结果
     */
    public int deleteCywProductAttrValueById(Long id);

    /**
     * 批量删除商品基本属性
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCywProductAttrValueByIds(Long[] ids);

    int saveBatch(@Param("list") List<CywProductAttrValue> list);

    List<CywProductAttrValue> selectListBySpuId(@Param("spuId") Long spuId);

    int updateBatch(@Param("list") List<CywProductAttrValue> list);

    List<CywProductAttrValue> selectListByAttrIds(@Param("attrIds") List<Long> attrIds);

    List<CywProductAttrValue> selectListBySpuIds(@Param("spuIds") List<Long> spuIds);
}
